home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / prolog / modprolg / mod-prol.lha / Prolog / Documentation / changes next >
Text File  |  1992-06-15  |  2KB  |  40 lines

  1. Differences between versions 3.0 and 3.1 of SB-Prolog
  2. =====================================================
  3.  
  4. 1. The builtin predicate $getenv/2 has disappeared (it wasn't obvious that
  5.    this was used often enough to justify having it as a builtin).  The way
  6.    the environment variable SIMPATH is accessed has changed: it is now
  7.    accessed once, when SB-Prolog is started up.  This is more efficient,
  8.    but changes to SIMPATH after startup are now invisible to the system.
  9.  
  10. 2. Arithmetic expressions (within is/2 and the various relational
  11.    predicates can now contain functional syntax.  This is just syntactic
  12.    sugar, and is converted to a relational syntax for execution (so
  13.    listing/{0,1}, clause/{2,3} may show something different).  Thus,
  14.    code of the form "X is 1 + sqrt(Y)" is allowed: it is converted to 
  15.  
  16.     square(U, Y), X is 1 + U
  17.  
  18.    where U is a new variable.  The new evaluable functors are the following:
  19.    
  20.        sqrt/1        (square root)
  21.     square/1    (square)
  22.     integer/1    (convert number to integer)
  23.     float/1        (convert number to float)
  24.     exp/1        (exponential)
  25.     ln/1        (natural logarithm)
  26.     sin/1        (sine)
  27.     arcsin/1    (inverse sine)
  28.  
  29. 3. Floating point unification has been changed so that it is no longer
  30.    "fuzzy".  In previous versions, two numbers were considered equal if
  31.    they were "sufficiently close" to each other; now, two numbers must
  32.    have the same value to be considered equal.
  33.    
  34.    However, there is still no need for explicit type conversions when
  35.    unifying integers and floats.
  36.  
  37. -----
  38. April 11, 1990: bug fixes to name/2.  Also, the printing of floats
  39.             has changed.
  40.